package com.moorror.codegenvel.domain.bean.savefile;

import com.intellij.openapi.project.Project;

/**
 * @Author jiyanghuang
 * @Date 2025/8/17 20:50
 */
public class SaveFileDesc {

    /**
     * 所属项目
     */
    private Project project;

    /*
     * 文件名
     */
    private String fileName;

    /**
     * 文件内容
     */
    private String content;

    /**
     * 最终文件扩展名
     */
    private String extension;

    /**
     * 存放的路径，只是路径不包含文件名
     */
    private String savePath;

    /**
     * 是否重新格式化代码
     */
    private Boolean reformat = true;
    /**
     * 是否写入文件，部分模块不需要写入文件。例如debug.json模板
     */
    private Boolean writeFile = true;


    /**
     * 当前是否跳过生成
     */
    private boolean skipGenCode = false;

    /**
     * 覆盖时是否提示
     */
    private boolean coverPrompt = true;

    /**
     * 生成配置
     */
    private GenerateOptions generateOptions;

    public Project getProject() {
        return project;
    }

    public void setProject(Project project) {
        this.project = project;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public GenerateOptions getGenerateOptions() {
        return generateOptions;
    }

    public void setGenerateOptions(GenerateOptions generateOptions) {
        this.generateOptions = generateOptions;
    }

    public String getExtension() {
        return extension;
    }

    public void setExtension(String extension) {
        this.extension = extension;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getSavePath() {
        return savePath;
    }

    public void setSavePath(String savePath) {
        this.savePath = savePath;
    }

    public Boolean getReformat() {
        return reformat;
    }

    public void setReformat(Boolean reformat) {
        this.reformat = reformat;
    }

    public Boolean getWriteFile() {
        return writeFile;
    }

    public void setWriteFile(Boolean writeFile) {
        this.writeFile = writeFile;
    }

    public boolean isSkipGenCode() {
        return skipGenCode;
    }

    public void setSkipGenCode(boolean skipGenCode) {
        this.skipGenCode = skipGenCode;
    }

    public boolean isCoverPrompt() {
        return coverPrompt;
    }

    public void setCoverPrompt(boolean coverPrompt) {
        this.coverPrompt = coverPrompt;
    }
}
